package com.matrix.media.entity.Audio;

import com.alibaba.fastjson.annotation.JSONField;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

@Data
@NoArgsConstructor
@AllArgsConstructor
public class AITTSAudioTrackClip extends AudioTrackClip {

    /**
     * 固定值：AI_TTS
     */
    @JSONField(name = "Type")
    private String Type;

    /**
     * 文本内容
     */
    @JSONField(name = "Content")
    private String Content;


    /**
     * 智能语音效果示例
     * https://help.aliyun.com/document_detail/449563.html#topic-2179270
     */
    @JSONField(name = "Voice")
    private String Voice;


    /**
     * 个性化人声
     *
     * 此处传入您在人声克隆功能中训练完成的 VoiceId，音频即可使用您的个性化人声进行生成
     *
     * 如果传入此值，Voice 将会失效
     */
    private String CustomizedVoice;

    /**
     * 文件格式，默认mp3。
     *
     * 支持PCM/WAV/MP3格式。
     */
    private String Format;


    /**
     * 语速，取值范围：-500～500，默认值：0。
     *
     * [-500, 0, 500] 对应的语速倍速区间为 [0.5, 1.0, 2.0]。
     *
     * -500表示默认语速的0.5倍速。
     *
     * 0表示默认语速的1倍速。1倍速是指模型默认输出的合成语速，语速会依据每一个发音人略有不同，大概每秒钟4个字左右。
     *
     * 500表示默认语速的2倍速。
     */
    private Integer SpeechRate;

    /**
     * 语调，取值范围：-500～500，默认值：0。
     */
    private Integer PitchRate;

}
